package com.atguigu1.core.rdd

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

/**
 *
 * @description: xxx
 * @time: 2021-03-12 11:45
 * @author: baojinlong
 **/
object Spark02RddFile {
  def main(args: Array[String]): Unit = {
    val sparkConf: SparkConf = new SparkConf().setMaster("local[*]").setAppName("rdd")
    val sparkContext = new SparkContext(sparkConf)
    // 从文件中创建rdd,绝对路径和相对路径都可以,按行尾单位进行读取
    val value: RDD[String] = sparkContext.textFile("datas/1.txt")
    // 读取文件夹下的所有文件
    val directory: RDD[String] = sparkContext.textFile("datas")
    print(directory)
    // 可以是路径通配符
    val matchRdd: RDD[String] = sparkContext.textFile("datas/1.*.txt")
    // 可以是分布式路径
    val hdfsRdd: RDD[String] = sparkContext.textFile("hdfs://hadoop:8020/test.txt")
    // 根据文件来读取
    val wholeFileAndContent: RDD[(String, String)] = sparkContext.wholeTextFiles("datas")
    value.collect().foreach(println)
    // 关闭环境
    sparkContext.stop()
  }

}
